package com.business.dashboard.model;

import lombok.Data;

import javax.validation.constraints.Email;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.util.List;

/**
 * 用户更新请求模型
 * 
 * @author Claude
 * @since 2025-07-06
 */
@Data
public class UserUpdateRequest {

    /**
     * 真实姓名
     */
    @Size(max = 50, message = "姓名长度不能超过50个字符")
    private String name;

    /**
     * 昵称
     */
    @Size(max = 50, message = "昵称长度不能超过50个字符")
    private String nickname;

    /**
     * 邮箱
     */
    @Email(message = "邮箱格式不正确")
    @Size(max = 100, message = "邮箱长度不能超过100个字符")
    private String email;

    /**
     * 手机号
     */
    @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
    private String phone;

    /**
     * 公司名称
     */
    @Size(max = 100, message = "公司名称长度不能超过100个字符")
    private String company;

    /**
     * 所属行业
     */
    @Size(max = 50, message = "行业长度不能超过50个字符")
    private String industry;

    /**
     * 职位
     */
    @Size(max = 50, message = "职位长度不能超过50个字符")
    private String position;

    /**
     * 所在地
     */
    @Size(max = 100, message = "地址长度不能超过100个字符")
    private String location;

    /**
     * 个人网站
     */
    @Size(max = 255, message = "网站地址长度不能超过255个字符")
    private String website;

    /**
     * 个人简介
     */
    @Size(max = 1000, message = "个人简介长度不能超过1000个字符")
    private String bio;

    /**
     * 从业年限
     */
    private Integer experienceYears;

    /**
     * 兴趣标签
     */
    private List<String> interests;

    /**
     * 技能标签
     */
    private List<String> skills;

}